1. Field of the Invention
The present invention relates generally to client-server environments and, more particularly, to a system and method for managing operations in a data storage environment.
2. Background Information
Prior Art FIG. 1 illustrates an operating environment 100 for a client-server architecture in which storage controllers 120 operate in response to requests or commands issued by a managing entity 110. Storage controllers 120, for example, may be connected to storage media 140 and 150. After a storage controller 120 performs a requested operation, an acknowledgement is submitted from the storage controller 120 to the managing entity 110 to confirm the completion of the requested operation.
If the acknowledgement is not received by the managing entity 110, due to data loss during transmission, managing entity 110 may demand for the operation to be performed again, by resubmitting the prior request. Disadvantageously, repeated requests results in duplicate performance of the requested operation. Such additional operations are redundant and undesirable.
In certain systems, such as data storage systems with a plurality of storage controllers 120, different storage controller machines may be implemented to operate according to command structures that are distinguishable from one storage controller machine to the next. In such systems, managing entity 110 will have to support the corresponding command structures for multiple storage controllers 120. As such, it is possible that a managing entity 110 will have to be configured to support multiple different types of command structures so that a receiving storage controller 120 can understand an issued command.
The above-noted lack of unified approach and the requirement for acknowledging each request results in excessive overhead, which is expensive and also burdensome for an administrator of a client-server system. Furthermore, in the current client-server systems, the managing entity is the sole point of decision-making logic, such that most if not all the logic needed for controlling the operation of the storage controller systems or performing certain operations generally resides in the managing entity. It would be desirable to delegate some of the noted decision making logic to the storage controller systems to reduce the overhead of the managing entity and to limit the client's dependence on the managing entity.
Thus, methods and systems are needed that can overcome the aforementioned shortcomings and allow a managing entity to delegate the performance of certain duties to its storage controllers.